// pages/login/login.js
import Notify from '../../miniprogram_npm/@vant/weapp/notify/notify'
import {
  API_ME_LOGIN,
  API_BANNER_LIST,
  API_USERINFO_LIST
} from '../../api/index'
const app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },
  // 用户登陆
  getUserInfo(e) {
    const userInfo = e.detail.userInfo

    if (!userInfo) {
      Notify({
        background: '#2CD5C3',
        message: '提示: 请您同意授权, 否则无法正常登陆并使用!'
      });
      return
    }
    wx.showLoading({
      title: '登陆中...',
      mask: true
    })
    app.globalData.userInfo = userInfo
    wx.setStorageSync('userInfo', userInfo)
    // 登录
    wx.login({
      success: res => {
        // 保存js-code
        app.globalData.jsCode = res.code
        const params = {
          "code": app.globalData.jsCode,
          "username": "",
          "nickname": userInfo.nickName,
          "userProvince": userInfo.province,
          "userCity": userInfo.city,
          "headportraitUrl": userInfo.avatarUrl
        }
        // 获取登陆信息
        API_ME_LOGIN(params).then(res => {
          // 保存ID
          wx.setStorageSync('openId', res.data.open_id)
          const paramsOpenId = {
            open_id: res.data.open_id
          }
          // 获取banner图
          API_BANNER_LIST(paramsOpenId).then(res => {
            // 设置banner数据
            wx.setStorageSync('banners', res.data)
          })
          // 获取用户数据
          API_USERINFO_LIST(paramsOpenId).then(res => {
            wx.hideLoading()
            // 设置用户数据
            wx.setStorageSync('userWenGanYunInfoList', res.data)
            wx.showToast({
              title: '登陆成功',
              icon: 'success',
              duration: 1800
            })
            setTimeout(() => {
              wx.reLaunch({
                url: '/pages/index/index',
              })
            }, 2000)
          })
        }, res => {
          wx.hideLoading()
          Notify({
            background: '#2CD5C3',
            message: '提示: 测试版本, 请打开调试工具再试'
          });
        })
      }
    })
  },
})